Address register allocation for arrays in loops of embedded programs

نویسندگان

  • Guilherme Ottoni
  • Guido Araujo
چکیده

Efficient address register allocation has been shown to be a central problem in code generation for processors with restricted addressing modes. This paper extends previous work on Global Array Reference Allocation (GARA), the problem of allocating address registers to array references in loops. It describes two heuristics to the problem, presenting experimental data to support them. In addition, it proposes an approach to solve GARA optimally which, albeit computationally exponential, is useful to measure the efficiency of other methods. Experimental results, using the MediaBench benchmark and profiling information, reveal that the proposed heuristics can solve the majority of the benchmark loops near optimality in polynomial-time. A substantial execution time speedup is reported for the benchmark programs, after compiled with the original and the optimized versions of GCC. q 2003 Published by Elsevier Science Ltd.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Optimized Array Index Computation in DSP Programs

| An increasing number of components in embedded systems are implemented by software running on embedded processors. This trend creates a need for compilers for embedded processors capable of generating high quality machine code. Particularly for DSPs, such compilers are hardly available, and novel DSP-speci c code optimization techniques are required. In this paper we focus on e cient address ...

متن کامل

Memory Optimization Techniques for Embedded Systems

Embedded systems have become ubiquitous and as a result optimization of the design and performance of programs that run on these systems have continued to remain as significant challenges to the computer systems research community. This dissertation addresses several key problems in the optimization of programs for embedded systems which include digital signal processors as the core processor. ...

متن کامل

Register Allocation for Indirect Addressing in LoopsGuido

Indirect addressing is by far the most used addressing mode in programs running in embedded CISC architectures. The reason is that it enables fast address computation combined with short instructions, resulting in faster/smaller programs. This paper proposes a solution to the problem of allocating address registers to array references within loops, when using indirect addressing combined with a...

متن کامل

Array Index Allocation under Register Constraints in DSP Programs

Code optimization for digital signal processors (DSPs) has been identi ed as an important new topic in system-level design of embedded systems. Both DSP processors and algorithms show special characteristics usually not found in general-purpose computing. Since real-time constraints imposed on DSP algorithms demand for very high quality machine code, high-level language compilers for DSPs shoul...

متن کامل

Register Allocation for Embedded Systems

Compilers play an important part in the system performance improvement. A compilation process is to translate source code from a highlevel programming language to a lower level language. For embedded systems, the system resource such as the number of registers, cache size, and memory size are very limited. Therefore, an efficient compilation can particularly have great effect on the system perf...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Microelectronics Journal

دوره 34  شماره 

صفحات  -

تاریخ انتشار 2003